// 对结构体数组进行排序。

// 题目描述：
// struct Person{
// 　　int no;
// 　　int age;
// 　　int height;
// }
// typedef struct Person Person;
// 实现sort方法对结构体数组进行排序。
// void sort(Person * array,int n);

// 根据no从小到大排序；如果no相同则根据age排序；如果age相同，则根据height排序。

// 注意：
// 遇到异常情况，输出"error"；否则不要随意输出，会视为错误。
// 注意struct Person的类型定义要和题目的完全一致。

#include <stdio.h>

struct Person{
    int no;
    int age;
    int height;
};

void sort(struct Person * array,int n)
{
    int tmp = 0, i = 0, j = 0;
    if(array == NULL || n <= 0)
    {
        printf("error");
        return;
    }
    for(i = 0; i < n - 1; i++)
    {
        for(j = 0; j < n - i - 1; j++)
        {
            if(array[j].no > array[j + 1].no || (array[j].no == array[j + 1].no && array[j].age > array[j + 1].age) || (array[j].no == array[j + 1].no && array[j].age == array[j + 1].age && array[j].height > array[j + 1].height))
            {
                tmp = array[j].no;
                array[j].no = array[j + 1].no;
                array[j + 1].no = tmp;

                tmp = array[j].age;
                array[j].age = array[j + 1].age;
                array[j + 1].age = tmp;

                tmp = array[j].height;
                array[j].height = array[j + 1].height;
                array[j + 1].height = tmp;
            }
        }
    }
    return;
}


// 提交记录：
// 41
// 1_对结构体数组进行排序
// C++
// 2024-07-03 20:31:28.0
// score
// 100

// Written By Sibei